<?php
App::uses('AppController','Controller');
class UsuariosController extends AppController {
	
	var $uses = array('Usuario');
	
	function beforeFilter(){
		if(!$this->Session->check('usuarioSesionSOT')){
			$this->redirect(array('controller'=>'Seguridad','action'=>'login'));
		}else{
			$this->set('usuarioSesionSOT',$this->Session->read('usuarioSesionSOT'));
		}
	}
	
	function guardar_usuario(){
		
		$this->layout = 'plantillaPrincipal';
    	
    	//Tomar los datos
    	if(isset($this->request->data)){
    		
    		$usuarioSesionSOT = $this->Session->read('usuarioSesionSOT');
  			$usuarioRegistro = $usuarioSesionSOT["Usuario"]["idUsuario"];
    		$fechaRegistro = date_create()->format('Y-m-d H:i:s');
    		
    		$dataSource = $this->Usuario->getDataSource();
    		
    		$dataSource->begin();

    		$data = $this->request->data["Usuario"];
    		
    		$objUsuario = $this->Usuario->find('first',array('conditions' => array('Usuario.idUsuario' =>$data["idUsuario"])));
    		
    		$objUsuario["Usuario"]["nombreUsuario"] = $data["nombreUsuario"];
    		$objUsuario["Usuario"]["apellidosUsuario"] = $data["apellidosUsuario"];

    		$claveUsuario = $data["claveUsuario"];
    		$confirmarClaveUsuario = $data["confirmarClaveUsuario"];
    		if(!($claveUsuario == "" && $confirmarClaveUsuario == "")){
    			if($claveUsuario == $confirmarClaveUsuario){
    				$objUsuario["Usuario"]["claveUsuario"] = sha1($claveUsuario);
    			}
    		}
    		
    		$objUsuario["Usuario"]["idUsuarioModifica"] = $usuarioRegistro;
    		$objUsuario["Usuario"]["fechaModifica"] = $fechaRegistro;
 
  			if ($this->Usuario->save($objUsuario)) {
				//Actualizar la sesion
  				$this->Session->write('usuarioSesionSOT',$objUsuario);	
  				
  				$this->Session->write('msjActualizacionUsuario',"Se actualizaron los datos de usuario");
  				$dataSource->commit();
  			}else{
  				$this->Session->write('msjActualizacionUsuario',"No se pudo actualizar los datos de usuario");
  				$dataSource->rollback();
  			}
    	}
    	
    	$this->redirect(array('controller'=>'Usuarios','action'=>'edicion_usuario'));
    	
	}
	
	function edicion_usuario(){

		$this->layout = 'plantillaPrincipal';
    	$this->set('title_for_layout', '::Datos de Usuario::');
    	
		if(!$this->Session->check('usuarioSesionSOT')){
			$this->redirect(array('controller'=>'Seguridad','action'=>'login'));
		}else{
			$usuarioSesionSOT = $this->Session->read('usuarioSesionSOT');
			$condiciones = array('Usuario.idUsuario'=>$usuarioSesionSOT["Usuario"]["idUsuario"]);
			$objUsuario = $this->Usuario->find('first',array('conditions'=>$condiciones));
			$this->set("objUsuario",$objUsuario);
			
			if($this->Session->check('msjActualizacionUsuario')){
		     	$this->set('msjActualizacionUsuario',$this->Session->read("msjActualizacionUsuario"));
				$this->Session->delete('msjActualizacionUsuario');
		    }	
		}
	}
}
?>